From: Daniel De Graaf Date: Sat, 28 Jan 2012 13:49:05 +0000 (+0000) Subject: xen: use XSM instead of IS_PRIV for getdomaininfo X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=e60e5c9642a733ac951203e4d349ccb2609c97ef;p=xen.git xen: use XSM instead of IS_PRIV for getdomaininfo The XEN_DOMCTL_getdomaininfo domctl does not allow manipulation of domains, only basic information such as size and state, so its use does not fully justify making a domain privileged. XSM modules can also provide fine-grained control over what domains are visible to domains that call getdomaininfo. If XSM is disabled (either at compile time or by using the dummy XSM module) then there is no change in behavior: only IS_PRIV domains can use this domctl. If enabled, the XSM module controls access. Signed-off-by: Daniel De Graaf Committed-by: Keir Fraser --- diff --git a/xen/common/domctl.c b/xen/common/domctl.c index 8001a916cc..904fb45e8f 100644 --- a/xen/common/domctl.c +++ b/xen/common/domctl.c @@ -264,6 +264,10 @@ long do_domctl(XEN_GUEST_HANDLE(xen_domctl_t) u_domctl) return -EPERM; break; } +#ifdef XSM_ENABLE + case XEN_DOMCTL_getdomaininfo: + break; +#endif default: if ( !IS_PRIV(current->domain) ) return -EPERM; diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c index acf9c8a9d2..d99f8860d1 100644 --- a/xen/xsm/dummy.c +++ b/xen/xsm/dummy.c @@ -66,6 +66,8 @@ static int dummy_scheduler (struct domain *d) static int dummy_getdomaininfo (struct domain *d) { + if ( !IS_PRIV(current->domain) ) + return -EPERM; return 0; }